package server;

import java.util.ArrayList;

public class ListaGiocatori {
	private ArrayList<Giocatore> lista;
	private int size;
	
	public ListaGiocatori(){
		lista = new ArrayList<Giocatore>(0);
		size = 0;
	}
	// requires user!=null
	// ensures (\old(lista.indexOfUser(user)==-1))? (lista.size()==\old(lista.size())+1 || lista.indexOfUser(user)!=-1)
	public void add(Giocatore user){
		if (indexOfUser(user)==-1){
			lista.add(user);
			size++;
		}
	}
	// requires user!=null
	// ensures (\old(lista.indexOfUser(user)!=-1))==> (lista.size()==\old(lista.size())-1 && size==\old(size)-1)
	public void delete(Giocatore user){
		int i = indexOfUser(user);
		if (i!=-1){
			lista.remove(i);
			size--;
		}
	}
	// requires user!=null
	// ensures \result!=null && (\result==-1 || lista.get(\result).equals(user))
	// assignable \nothing;
	public int indexOfUser(Giocatore user){
		for (int i=0; i<size;i++){
			if(lista.get(i).getUsername().equals(user.getUsername())) return i;
		}
		return -1;
	}
	public Giocatore get(int i){
		return lista.get(i);
	}
	public int size(){
		return size;
	}
}
